Ext.define('aps.votarSolicitudeCambioPanel', {
    extend: 'Ext.form.Panel',
    alias : 'aps.votarSolicitudeCambioPanel',

    title :   'Votar por la Solicitud de Cambio',
    id:       'panel_votar_solicitud_cambio',
    name:     'panel_votar_solicitud_cambio',
    layout:   'fit',
    frame:    true,
    closable: true,
    border:   false,
  
    initComponent: function() {
    	var h= "valor inicicial";
    	var records = Ext.getCmp('solicitud_cambio_grid_id').getSelectionModel().getSelection();
    	Ext.Ajax.request({
            url:      '/calcular_impacto_solicitud',
            method:   'POST',
            params: {
                idproyecto: Ext.getCmp('combo-proyecto').valueModels[0].data.idproyecto,
                idsolicitud: records[0].data.id
            },
            success: function(response, opts) {
                // Obtenemos la respuesta del servidor
                var obj       = Ext.decode(response.responseText);
                var itotal    = obj.total;
                var ptotal    = obj.ptotal;

                Ext.getCmp('id_impacto_solicitud_html').update('<div class="item"><h1>IMPACTO DE LA SOLICITUD</h1>' +
                        '<br/><b>IMPACTO TOTAL: <FONT SIZE=8> '+ itotal +'</font> </b>  <br/>' +
                        '<br/><b>COSTO TOTAL: <FONT SIZE=8> '+ ptotal +'</font> </b>  <br/>' +
                         '</div>');
            }
        });

       this.items = [{
            xtype:      'form',
            title:      'Datos de la Solicitud de Cambio',
            //id: 'votar_solicitud_super',
            autoScroll: true,
            fieldDefaults: {
                blankText:     'Este campo no puede ser nulo',
                msgTarget:     'side',
                autoFitErrors: false
            },
            items: [
//
//             {
//                    xtype:      'textfield',
//                    margin:     '5 20 20 20',
//                    name :      'descripcion',
//                    width:       480,
//                    labelWidth:  150,
//                    fieldLabel: '<b>Descripcion</b>',
//                    allowBlank: false
//               }, {
//                    xtype:     'label',
//                    style:     'font-weight:bold;',
//                    text:      'Seleccione los items que formaran parte de la Solicitu de Cambio',
//                    margin:    '5 20 20 20',
//                },
                {
                    html: h,
                    id: 'id_impacto_solicitud_html',
                    xtype: "panel"},
                    {
                        xtype:      'combo',
                        margin:     '5 20 20 20',
                        hiddenName: 'voto',
                        name :      'voto',
                        editable:     false,
                        mode:        'local',
                        labelWidth:  150,
                        width: 480,                
                        fieldLabel: '<b>Decisión</b>',
                        allowBlank: false,
                        displayField: 'opcion',
                        valueField:   'opcion',
                        emptyText :   'Aprueba la Solicitud',
                        store: new Ext.data.SimpleStore({  
                            id      : 0 ,  
                            fields  : ['opcion'],  
                            data    : [
                                ['Si'],
                                ['No']
                            ]
                        }),   
                    },
                
               ],
               
            
        }];

        this.buttons =[{
            text:     'Aceptar',
            iconCls:  'save-icon',
            handler:  this.form_submit_handler
        }, {
            text:    'Cancelar',
            iconCls: 'cancel-icon',            
            handler: this.form_cancel_handler
        }];
        
        this.listeners = {
            close : function(){
                // actualizamos el store
                var store = Ext.data.StoreManager.lookup('solicitud_cambioStore');
                store.load({
                    params: {
                    idfase : Ext.getCmp('combo-fase').valueModels[0].data.idfase,
                    }
                }); 
                // volvemos al panel de administracion
                Ext.getCmp('area-central').agregar_pestanha('panel_administrar_solicitud_cambio', null);
            }
        };
        
        this.callParent(arguments);
    },
    
    form_submit_handler: function(){
    	var records = Ext.getCmp('solicitud_cambio_grid_id').getSelectionModel().getSelection();
    	var self = this;
        var form = self.up('form').getForm();
        if(form.isValid()){
            form.submit({
                method:    'POST',
                url:       '/votar',
                waitTitle: 'Conectando', 
                waitMsg:   'Enviando datos...',
                // Aca se envian los parametros que estan disabled en el form
                params: {
                    idsolicitud: records[0].data.id,
                    idproyecto: Ext.getCmp('combo-proyecto').valueModels[0].data.idproyecto,
                },
                success: function(form,action){
                    Ext.Msg.alert('INFO','Registro almacenado con exito!', function(btn, text){
                        if (btn == 'ok'){
                            self.up('panel').close();
                        }
                    });
                },
                failure: function(form, action){
                    Ext.Msg.alert('ERROR','No puede Votar 2 veces por la misma Solicitud!');
                }
            });
        }
    },
    
    form_reset_handler: function() {
        var form = this.up('form').getForm();
        form.reset();
        form.findField("nombre").focus(true,100);
    },
    
    form_cancel_handler: function() {
        this.up('panel').close();
    }
});





